package com.net.xpay.common.dao.stat;

import com.net.xpay.common.domain.stat.UserSafePayTransStat;
import com.net.xpay.common.model.UserSafePayTransStatMonthModel;
import com.net.xpay.common.model.UserSafePayTransStatSumModel;
import com.net.common.annotation.DataCommon;
import com.net.common.dao.Page;
import com.net.common.dao.PagedMapper;
import com.net.xpay.core.model.UserSafePayTransStatSearchModel;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@DataCommon
@Repository
public interface UserSafePayTransStatMapper extends PagedMapper<Long, UserSafePayTransStat> {
    List<UserSafePayTransStat> search(@Param("searchModel") UserSafePayTransStatSearchModel searchModel, @Param("page") Page page);

    long searchCount(@Param("searchModel") UserSafePayTransStatSearchModel searchModel);

    List<UserSafePayTransStatMonthModel> sumMonthUserSafePayTransStat(@Param("year") Integer year, @Param("month") Integer month, @Param("userId") Long userId);

    List<UserSafePayTransStat> list(@Param("searchModel")UserSafePayTransStatSearchModel searchModel);

    UserSafePayTransStatSumModel sumUserSafePayTransStat(@Param("searchModel") UserSafePayTransStatSearchModel searchModel);
}
